A General Framework for Lazy Functional Logic, Programming with Algebraic Polymorphic Types
نویسندگان
چکیده
We propose a general framework for first-order functional logic programming, supporting lazy functions, non-determinism and polymorphic datatypes whose data constructors obey a set C of equational axioms. On top of a given C, we specify a program as a set R of Cbased conditional rewriting rules for defined functions. We argue that equational logic does not supply the proper semantics for such programs. Therefore, we present an alternative logic which includes C-based rewriting calculi and a notion of model. We get soundness and completeness for C-based rewriting w.r.t. models, existence of free models for all programs, and type preservation results. As operational semantics, we develop a sound and complete procedure for goal solving, which is based on the combination of lazy narrowing with unification modulo C. Our framework is quite expressive for many purposes, as e.g. solving action and change problems, or realizing the GAMMA computation model.
منابع مشابه
Embedding Multiset Constraints into a Lazy Functional Logic Language
1 I n t r o d u c t i o n The combination of different declarative paradigms (specially functional and logic programming) has been widely treated in the literature (see [12] for a survey). Many approaches to the integration of functional and logic programming take constructor-based conditional term rewriting systems as programs. In order to deal properly with non-strict functions, lazy function...
متن کاملSemantics and Types in Functional Logic Programming
The rewriting logic CRWL has been proposed as a semantic framework for higher-order functional logic programming, using applicative rewriting systems as programs and lazy narrowing as the goal solving procedure. We present an extension of CRWL with a polymorphic type system, and we investigate the consequences of type discipline both at the semantic level and at the operational level. Semantica...
متن کاملA Framework for Deterministically Interleaved Interactive Programs in the Functional Programming Language Clean
In this paper we present a functional interleaved Event I/O system . This system is a generalization of the Event I/O system as incorporated into the lazy, purely functional programming language Clean. The Interleaved Event I/O system offers features that are more commonly found outside the functional scene. These features are dynamic process creation, and two well-known forms of inter-process ...
متن کاملOnce Upon a Polymorphic
We present a sound type-basedùsage analysis' for a realistic lazy functional language. Accurate information on the usage of program subexpressions in a lazy functional language permits a compiler to perform a number of useful optimi-sations. However, existing analyses are either ad-hoc and approximate, or deened over restricted languages. Our work extends the Once Upon A Type system of Turner, ...
متن کاملReal Constraints within a Functional Logic Language
We present a declarative language { CFLP(R) { which integrates lazy functional programming, logic programming and constraint solving over real numbers. Both a (higher order, polymorphic, lazy) functional language and (pure) CLP(R) can be isolated as subsets of our language. Through several examples we attempt to demonstrate the interest of CFLP(R). The execution mechanism of the language consis...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- TPLP
دوره 1 شماره
صفحات -
تاریخ انتشار 2001